In some communications networks, services can be formed by tightly coupling multiple virtual network functions together. These services can include an ingress point, one or more virtual network functions, and an egress point. In some instances, the services can include an edge router or server that can act as an ingress point for the service, one or more virtual network functions that can provide specific functionality associated with the service, and another edge router or server that can act as an egress point for the service.
The virtual network functions of these services are tightly coupled, meaning the virtual network functions cooperate to provide a service. Some custom services can be created by determining functionality that is desired for the service and chaining together virtual network functions that provide that functionality to create a custom service. Data flows into the service via the ingress point, through the virtual network functions of that service, and out of the service via an egress point. Data cannot be injected into the service other than through the ingress point, and data cannot be extracted from the service other than through the egress point.